home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 December / Australian PC User - December 2003 (CD2).iso / software / apps / files / dwmx2k4.exe / Disk1 / data1.cab / Configuration_En / DataSources / JSP / JavaBean.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  4.4 KB  |  166 lines

  1. // Copyright 2000, 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2. var DEBUG = false
  3. var javabean_filename = "JB_D.gif"
  4. var datasourceleaf_filename = "DSL_D.gif"
  5.  
  6. function addDynamicSource()
  7. {
  8.     dw.popupServerBehavior("JavaBean.htm");
  9. }
  10.  
  11.  
  12. function findDynamicSources()
  13. {
  14.     var retList = new Array();
  15.     var currentdom = dreamweaver.getDocumentDOM();
  16.  
  17.   if (currentdom) {
  18.  
  19.         //find matching ssRecs
  20.         var ssRecs = dw.serverBehaviorInspector.getServerBehaviors();
  21.         for (var i=0; i < ssRecs.length; i++) {
  22.           if (ssRecs[i].type == "JavaBean") {
  23.             retList.push(new ObjectInfo(ssRecs[i].title, javabean_filename,true,"JavaBean.htm",""));
  24.           }
  25.         }
  26.     }
  27.  
  28.     return retList;
  29. }
  30.  
  31. ////////////////////////////////////////////////////////////////////////////////
  32. //    Function: generateDynamicSourceBindings()
  33. //
  34. //    Returns a list of bindings for elementNode on the page.
  35. ////////////////////////////////////////////////////////////////////////////////
  36. function generateDynamicSourceBindings(elementName)
  37. {
  38.     var BindingsArray = new Array();
  39.     var outArray = new Array();
  40.  
  41.     ssRec = findSSrecByTitle(elementName,"JavaBean");
  42.  
  43.     if (ssRec) 
  44.     {
  45.         className    = ssRec.parameters.Class;
  46.         packageName = "";
  47.         var siteHandle = MMNotes.open(dw.getSiteRoot(),true);
  48.         if (siteHandle) 
  49.         {
  50.             var siteURL = dw.getSiteRoot();
  51.             if (siteURL.length)
  52.             {
  53.                 packageName = MMNotes.get(siteHandle,className);
  54.             }
  55.             MMNotes.close(siteHandle);
  56.         }
  57.  
  58.         var properties = MMJB.getReadProperties(className,packageName);
  59.  
  60.         for (var i =0 ; i < properties.length ; i++)
  61.         {
  62.             outArray[i] = new ObjectInfo(properties[i], datasourceleaf_filename,false,"JavaBean.htm","");
  63.         }
  64.     }
  65.         
  66.     return outArray;
  67.  
  68. }
  69.  
  70.  
  71. ////////////////////////////////////////////////////////////////////////////////
  72. //
  73. //    Function: generateDynamicDataRef
  74. //
  75. //    Returns a dynamic binding string.
  76. ////////////////////////////////////////////////////////////////////////////////
  77. function generateDynamicDataRef(elementName,bindingName,dropObject)
  78. {
  79.  
  80.     ssRec = findSSrecByTitle(elementName,"JavaBean")
  81.     var retVal = "";
  82.  
  83.     if (ssRec) 
  84.     {
  85.         var paramObj = new Object();
  86.  
  87.         paramObj.beanName = ssRec.parameters.Id;
  88.         paramObj.property = bindingName;
  89.  
  90.         var insertText = "<jsp:getProperty name=\"" + paramObj.beanName  + "\"" + " property=\"" + paramObj.property + "\"" + "/>";
  91.  
  92.         retVal = insertText;
  93.  
  94.         // If the string is being inserted inside a script block, strip the
  95.         // script delimiters.
  96.         if (dwscripts.canStripScriptDelimiters(dropObject))
  97.             retVal = dwscripts.stripScriptDelimiters(retVal);
  98.     }
  99.  
  100.     return retVal;
  101. }
  102.  
  103.  
  104. ////////////////////////////////////////////////////////////////////////////////
  105. //
  106. //    Function: inspectDynamicDataRef
  107. //
  108. //    Inspects a dynamic binding string and returns a pair of source and binding.
  109. ////////////////////////////////////////////////////////////////////////////////
  110. function inspectDynamicDataRef(expression)
  111. {
  112.     var retArray = new Array();
  113.  
  114.     if (expression && expression.length)
  115.     {
  116.         var group = new Group("JSPGetProperty");
  117.         var part = group.getParticipants("replaceSelection")[0];
  118.  
  119.         searchBeanName       = eval(part.searchPatterns[0].pattern);
  120.         searchPropertyName = eval(part.searchPatterns[1].pattern);
  121.  
  122.         if (searchBeanName && searchPropertyName)
  123.         {
  124.             var result1 = expression.match(searchBeanName);
  125.             var result2 = expression.match(searchPropertyName);
  126.  
  127.             if (result1 && result1.length > 1)
  128.             {
  129.                 if (result2 && result2.length > 1)
  130.                 {
  131.                     //find the original ssRec
  132.                     var ssRecs = dw.serverBehaviorInspector.getServerBehaviors();
  133.                     for (var i=0; i < ssRecs.length; i++) {
  134.                       if (ssRecs[i].type == "JavaBean" && ssRecs[i].parameters.Id == result1[1]) {
  135.                         retArray[0] = ssRecs[i].title;
  136.                         retArray[1] = result2[1];
  137.                         break;
  138.                       }
  139.                     }
  140.                 }
  141.             }
  142.         }
  143.     }
  144.     return retArray;
  145. }
  146.  
  147.  
  148.  
  149. ////////////////////////////////////////////////////////////////////////////////
  150. //
  151. //    Function: deleteDynamicSource
  152. //
  153. //    Deletes a dynamic source from the document.
  154. ////////////////////////////////////////////////////////////////////////////////
  155. function deleteDynamicSource(sourceName,bindingName)
  156. {
  157.   var ssRec = findSSRecByTitle(sourceName,"JavaBean.htm")
  158.  
  159.   if (ssRec != null && !bindingName) {
  160.     dw.serverBehaviorInspector.deleteServerBehavior(ssRec);
  161.   } else if (bindingName) {
  162.     alert(MM.MSG_CantDelColumn);
  163.   }
  164. }
  165.  
  166.